package com.yungu.swift.order.model.param;

import com.yungu.swift.assets.driver.model.vo.QueueDriverVo;
import com.yungu.swift.base.model.admin.AdminParam;
import com.yungu.swift.order.model.dto.OrderDetailDto;
import com.yungu.swift.order.model.dto.OrderDto;
import com.yungu.swift.order.model.dto.OrderFareDto;
import com.yungu.swift.order.model.vo.CrosstownOrderAssignVo;
import com.yungu.swift.system.sys.model.dto.SysAssignConfigDto;
import com.yungu.swift.system.sys.model.dto.SysWayDto;
import lombok.Data;

import java.io.Serializable;
import java.util.List;

/**
 * 跨城派单相关
 */
@Data
public class CrosstownAssignOrderParam extends AdminParam {
    /**
     * 当前子单
     */
    private OrderDto currentOrderDto;

    /**
     * 当前子单明细表
     */
    private OrderDetailDto currentOrderDetailDto;

    /**
     * 当前子单费用表
     */
    private OrderFareDto currentOrderFareDto;

    /**
     * 当前主单
     */
    private OrderDto currentMainOrderDto;

    /**
     * 目标主单
     */
    private OrderDto targetMainOrderDto;

    /**
     * 目标主单明细表
     */
    private OrderDetailDto targetMainOrderDetailDto;

    /**
     * 目标主单费用表
     */
    private OrderFareDto targetMainOrderFareDto;

    /**
     * 线路信息
     */
    private SysWayDto sysWayDto;

    /**
     * 派单类型 1自动 2手动
     */
    private Integer assignType;

    /**
     * 当前订单ID
     */
    private String currentOrderUuid;

    /**
     * 目标主单
     */
    private String targetMainOrderUuid;

    /**
     * 目标司机ID
     */
    private String targetDriverUuid;

    /**
     * 当前用户ID
     */
    private String userUuid;

    /**
     * 待出发订单集合
     */
    private List<CrosstownOrderAssignVo> waitStartOrderList;

    /**
     * 排队中司机集合
     */
    private List<QueueDriverVo> queueDriverList;

    /**
     * 派单规则
     */
    private SysAssignConfigDto sysAssignConfigDto;

    /**
     * 目标主单剩余座位数
     */
    private Integer resNum;

    /**
     * 目标主单小件订单数
     */
    private Integer targetParcelOrderNum;

    /**
     * 目标主单拼车类型
     */
    private Integer targetTypeJoin;

    /**
     * 车辆ID
     */
    private String carUuid;

    /**
     * 车型ID
     */
    private String carModelUuid;

    /**
     * 车辆座位数
     */
    private Integer seats;

    /**
     * 司机号码
     */
    private String driverMobile;

    /**
     * 车牌号
     */
    private String plateNum;

    /**
     * 原司机ID
     */
    private String curDriverUuid;
}
